

const arr = [
  1, 'true', 'a', true, false,
  undefined, null, NaN, NaN, 'NaN',
  0, {}, {}, [], []
]

// 方法一
function uniqueArr(arr) {
  let res = []
  for(let i=0, len=arr.length; i<len; ++i) {
    if ( res.indexOf(arr[i]) ) {
      res.push(arr[i])
    }
  }
  return res
}
方法二
function uniqueArr(arr) {
  let res = []
  for(let i=0, len=arr.length; i<len; ++i) {
    if (!res.includes(arr[i])) {
      res.push(arr[i])
    }
  }
  return res
}
// 方法三
function uniqueArr (arr) {
  return arr.filter((item, index, arr)=>{
    return arr.indexOf(item) === index
  })
}
// 方法四
function uniqueArr (arr) {
  return [...new Set(arr)]
}

console.log(uniqueArr(arr))




